#ifndef ABSTRACTEDITFORMACTIONS_H
#define ABSTRACTEDITFORMACTIONS_H


class ItemRoot;
class D20BaseModel;

#include <QAction>


class AbstractEditFormActions
{

public:


    virtual ItemRoot* root() const = 0;
    virtual D20BaseModel* model() const = 0;

    virtual void open(ItemRoot* root) = 0;
    virtual bool save() = 0;
    virtual bool saveAs() = 0;

    virtual bool changed() const = 0;
    virtual void updateData() = 0;

protected:

    virtual void initialize() = 0;
    virtual void onActionTriggered(QAction* action) = 0;



};



#endif // ABSTRACTEDITFORMACTIONS_H


